The mobile device industry has been growing for a number of years. The growth in the industry has led to a proliferation of many different types of mobile devices from various different vendors. A vendor may provide various different make and/or models of mobile devices to gain a competitive edge in the growing industry. For instance, the vendor may provide different smart phones and/or tablets that come in different sizes, with different specifications, etc. In addition, different mobile devices may come with different mobile operating systems or different versions of the same mobile operating system. Some vendors even modify a particular mobile operating system to add or remove specific features. The evolution of the mobile operating systems has even led to many other computing devices (e.g., game systems, media player appliances, etc.) adopting the mobile operating systems or modified versions thereof.
With the growth, there is an increasing demand for quality applications. The challenges that application developers face can be daunting. For example, to grow with the industry, the developers may have to write applications for different mobile operating systems. Different mobile operating systems will try to promote different programming languages (e.g., through their respective application programming interfaces (APIs), libraries, and/or frameworks). In addition, each different version of one mobile operating system may add and/or remove features (e.g., use different APIs).
Many application developers rely on user feedback to determine if there are any issues (e.g., performance issues) with their applications. Such user feedback may be valuable, but it may not provide the developers with (e.g., real-time) data about how their applications are performing across a number of different mobile devices (e.g., that are from different vendors and/or operate on different mobile operating systems). The user feedback may also not provide (e.g., at least in real-time and with minimum effort) detailed measurements of how their applications are performing across different mobile devices in relation to different services, such as cloud services, that the applications are using. Also, even when detailed measurements can be provided to a developer about the application's performance, these measurements might not be as useful when they are not provided in the proper context. Hence, there is a need to provide detailed measurements of an application's performance with the proper context.